As recently as a few years ago, websites consisted primarily of a collection of web pages, stored in static .htm files, designed to be viewed by visitors to the website. When a website visitor wanted to see a web page, the visitor would click a link and a web server would simply return the .htm file to a computer's web browser which would then file the content as formatted by <HTML> tags. There was little or no interaction possible with those web pages, and the content on those web pages generally could be altered only by directly editing the .htm file on the web server.
Today, nearly all websites contain content that rarely is contained within simple static .htm files. Much of this content is stored within and extracted from databases, Extended Markup Language (XML) files and other data repositories. When that content is seen on a web page, something has acted to retrieve that content and place it on the web page. In addition, website visitors now can often interact with web pages, doing such things as online shopping, filling out forms, or searching for information. Web pages that contain this kind of content or interaction are called dynamic web pages. The backend systems that access the data repositories and enable this dynamic content and user interactivity are called web applications.
Web applications historically have been very complex, expensive and time consuming to build, often requiring the services of large groups of experienced software programming engineers and software applications designers. These web applications basically include “screens'” and “action scripts”. Screens are what the website visitor sees in his web browser window, and can consist of static text, forms for collecting information, navigator buttons, graphics and content retrieved from a data repository. Action scripts, sometimes called “business logic”, perform the backend job of managing the content stored within the data repositories used by the web application. And, the data repositories themselves can be located on the web server providing the web page, within separate database servers, or even within other websites.
A data repository is, therefore, not part of the web application. Rather, the web application may create a data repository, manage its content, and even delete a data repository. The content and data repository, being separate and independent of the web application, thereby enables the content to be shared by multiple web applications.
The need for web applications has grown exponentially as people have learned the value that such applications can bring to their businesses. This growing need for web applications, combined with the complexity and expense of developing these applications, indicates that it is desirable to have software development tools that can help produce web applications using reduced development time, cost, and complexity of the development process.
At the current time, there are a number of separate and individual software tools that can be used to build the various components that make up a web application. A disadvantage to the known systems is that none contain all of the tools necessary to create complete applications, and none of the known systems allow for a desirable degree of integration of all such tools, and all required the participation of technically trained software programmers.
The prior art does not allow non-technical users to build the kind of complex web applications found in most websites today. Furthermore, no known prior art allows the non-technical user to modify these web applications once they have been deployed into websites. The several known individual software applications or tools that are available perform limited tasks for enabling the development of web applications. Furthermore, while the disparate tools that are available to develop web applications are user friendly, they are so primarily only to those users who are experienced, technically trained software programmers.